// pages/pdmenutype/pdmenutype.js
import Api from '../../utils/Api'
import Config from '../../utils/Config'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        typeList: [],
        addInpText: '',
        showModalStatus: false,
        editItem: {}
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: async function (options) {
        // 获取分类数据
        this.getTypeList();
    },
    // 获取分类数据
    async getTypeList() {
        var typeList = (await Api.getAllData(Config.tableName.recipeType)).data;
        this.setData({
            typeList: typeList
        });
    },
    // 判断修改或删除的数据是否为空
    isNull(val) {
        if (!val) {
            wx.showToast({
                title: '菜单名不能为空！',
                icon: 'none'
            });
            return false;
        }
        return true;
    },
    // 判断是否存在该菜单
    isHaveType(typeName) {
        let findIndex = this.data.typeList.findIndex(item => {
            return item.typeName == typeName
        });
        if (findIndex == -1) {
            return false;
        }
        return true;
    },
    addType(e) {
        let typeName = this.data.addInpText;
        console.log(typeName)
        // 判断传入的值是否为空
        if (!this.isNull(typeName)) {
            return;
        }
        // 判断在是否存在该分类
        if (!this.isHaveType(typeName)) {
            // 添加
            Api.addData(Config.tableName.recipeType, {
                typeName
            }).then(res => {
                console.log(res);
                this.getTypeList();
                wx.showToast({
                    title: '添加成功！'
                });
                // 清空输入框
                this.setData({
                    addInpText: ''
                })
            })
        }else{
            wx.showToast({
              title: '该菜单已经存在',
              icon:'none'
            })
        }
},
delType(e) {
    Api.delById(Config.tableName.recipeType, e.currentTarget.dataset.id).then(res => {
        if (res.stats.removed) {
            wx.showToast({
                title: '删除成功！',
            })
            this.getTypeList();
        }
    })
},
powerDrawer: function (e) {
    var currentStatu = e.currentTarget.dataset.statu;
    console.log(e.currentTarget.dataset)
    if (currentStatu == 'open') {
        this.setData({
            editItem: JSON.parse(JSON.stringify(e.currentTarget.dataset.typeitem))
        })
    }
    this.util(currentStatu)
},
util: function (currentStatu) {
    /* 动画部分 */
    // 第1步：创建动画实例   
    var animation = wx.createAnimation({
        duration: 200, //动画时长  
        timingFunction: "linear", //线性  
        delay: 0 //0则不延迟  
    });

    // 第2步：这个动画实例赋给当前的动画实例  
    this.animation = animation;

    // 第3步：执行第一组动画  
    animation.opacity(0).rotateX(-100).step();

    // 第4步：导出动画对象赋给数据对象储存  
    this.setData({
        animationData: animation.export()
    })

    // 第5步：设置定时器到指定时候后，执行第二组动画  
    setTimeout(function () {
        // 执行第二组动画  
        animation.opacity(1).rotateX(0).step();
        // 给数据对象储存的第一组动画，更替为执行完第二组动画的动画对象  
        this.setData({
            animationData: animation
        })

        //关闭  
        if (currentStatu == "close") {
            this.setData({
                showModalStatus: false
            });
        }
    }.bind(this), 200)

    // 显示  
    if (currentStatu == "open") {
        this.setData({
            showModalStatus: true
        });
    }
},
editInput(e) {
    this.data.editItem.typeName = e.detail.value;
    this.setData({
        editItem: this.data.editItem
    })
},
editType(e) {
    let typeName = this.data.editItem.typeName;
    if (this.isNull(typeName)) {
        if(!this.isHaveType(typeName)){
            Api.updateById(Config.tableName.recipeType, this.data.editItem._id, {
                typeName
            }).then(res => {
                console.log(res);
                this.getTypeList();
                this.util('close');
                wx.showToast({
                    title: '修改成功',
                })
            })
        }else{
            wx.showToast({
                title: '该菜单已经存在/未进行修改',
                icon:'none'
              })
        }
    }
}

})